<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title></title>
</head>
<body>
	<script type="text/javascript">
		//构造函数  在js中用关键字new调用的函数就叫构造函数
		// js内置的构造函数： new Date，new String，new Number....

		// 首字母大写 和 普通函数分开
		function CreateUser(name){
			// 1.创建一个空白对象
			// 在构造函数中，this指的是new出来的新对象
			// this = new Object()

			// 2.添加属性和方法
			this.name = name
			this.getName = function(){
				return this.name + "吃kfc"
			}

			// 3.出厂
			// return this

			// 构造函数帮我们干哪两件事？
			// 1.创建空白对象
			// 2.将对象返回出去
		}

		let user = new CreateUser("孙悟空")
		console.log(user.getName())
		let user2 = new CreateUser("猪八戒")
		console.log(user2.getName(), user.name)


		// user user2没有公用同一个方法，没new一次,都会开辟一块新内存，独立存放.虽然功能一样，但不是同一个
		

	</script>
</body>
</html>